package first_practice;

/**
 * @author ZhiWen Ren
 * @version 1.0
 * @description: LeetCode-283-移动零
 * @date 2025/3/11 15:21
 */
public class Solution283 {
    public void moveZeroes(int[] nums) {
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == 0) { // 找到第一个0元素
                int j = i + 1; // i，j双指针移动零元素
                while (j < nums.length) {
                    if (nums[j] != 0) { // nums[i]可能大于0，也可能小于0
                        int temp = nums[i];
                        nums[i] = nums[j];
                        nums[j] = temp;
                        i++;
                    }
                    j++;
                }
                return;
            }
        }
    }
}
